package com.oristartech.netty.common.message;

import lombok.*;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 ** 请求消息
 *
 * @author: chenfenghai
 * @version: 1.0
 * @date: 2020-03-18 17:14
 * @blame Team
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
@ToString
public class RequestMessage extends AbstractMessage {

    private static final long serialVersionUID = 6729726895585831936L;

    /**
     ** 消息ID
     */
    @NotBlank
    String id;

    /**
     ** 消息类型
     */
    @Builder.Default
    MessageType type = MessageType.REQUEST;

    /**
     ** 租户ID
     */
    @NotBlank
    String tenantId;

    /**
     ** 影院编码
     */
    @NotBlank
    String cinemaCode;

    /**
     ** 当前时间戳
     */
    @NotNull
    long timestamp;

    /**
     ** 服务名称
     */
    @NotBlank
    String serviceName;

    /**
     ** 方法名称
     */
    @NotBlank
    String methodName;

    /**
     ** 内容
     */
    String content;
}
